Image processor for and method of performing tonal transformation on image data

ABSTRACT

A method of performing tonal transform on image data. The method includes extracting a portion of the image data, assigning one of a plurality of labels to the extracted portion, performing a first tonal transformation on the extracted portion if a first label is assigned to the extracted portion, and performing a second tonal transformation on the extracted portion if a second label is assigned to the extracted portion. The method can be performed, for example, with an image processor comprising a memory that stores the image data and a processor coupled to the memory.

BACKGROUND

Embodiments of the invention relate to an image processor for and amethod of performing a tonal transformation on image data.

An image scanned using an imaging device (e.g., a scanner, amulti-functional device such as a scanner-printer-facsimile machine,etc.) may have several tonal transformations performed on it before theresultant image is either displayed (e.g., on a personal computer (PC))or printed (e.g., via a printer). One common type of tonaltransformation is known as gamma correction. Gamma correction is usuallyperformed by applying a power-law transformation to the pixels of adocument. The correction maps input intensity values into transformed,output intensity values. The transformation has the basic form ofs=cr^(γ)  [e1]where r is the input intensity value, s is the output intensity value,and c and γ are positive constants. Values for γ<1 has the effect ofmaking the output lighter than the input, while values for γ>1 has theeffect of making the output darker than the input.

SUMMARY

Applying a gamma correction has the drawback of reducing contrast, whichmay affect the quality of small and/or fine text or images. It would bebeneficial to identify areas of a document (e.g., an image area, abackground area, etc.) requiring corrected intensities while preservingthe sharpness of other areas (e.g., text areas, etc.).

In one embodiment, the invention provides a method of performing tonaltransform on image data. The method includes extracting a plurality ofportions of the image data; assigning one of a plurality of labels toeach of the plurality of extracted portions, the plurality of labelscomprising a first label and a second label; performing a first tonaltransformation on the extracted portion assigned the first label; andperforming a second tonal transformation on the extracted portionassigned the second label.

In another embodiment, the invention provides an image processor forperforming tonal transformation on image data. The image processorincludes a memory storing the image data and a processor coupled to thememory. The processor, in one construction, is configured to extract aplurality of portions of the image data, assign one of a plurality oflabels to each of the plurality of extracted portions, the plurality oflabels comprising a first label and a second label, perform a firsttonal transformation on the extracted portions assigned the first label,and perform a second tonal transformation on the extracted portionsassigned the second label.

Other features and aspects of the invention will become apparent byconsideration of the detailed description and accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram representing a scanner incorporating theinvention.

FIG. 2 is a schematic diagram representing an image sensor used in thescanner of FIG. 1.

FIG. 3 is a flow chart representing a dynamic gamma correctiontechnique.

FIG. 4 is a flow chart representing an adaptive threshold techniquecapable of being used with the dynamic gamma correction technique ofFIG. 3.

FIG. 5 is a flow chart representing a binary morphology extractiontechnique capable of being used with the dynamic gamma correctiontechnique of FIG. 3.

FIG. 6 is a flow chart representing one technique capable of being usedwith the dynamic gamma correction technique of FIG. 3 for labelingextracted image data.

DETAILED DESCRIPTION

Before any embodiments of the invention are explained in detail, it isto be understood that the invention is not limited in its application tothe details of construction and the arrangement of components set forthin the following description or illustrated in the following drawings.The invention is capable of other embodiments and of being practiced orof being carried out in various ways. Also, it is to be understood thatthe phraseology and terminology used herein is for the purpose ofdescription and should not be regarded as limiting. The use of“including,” “comprising,” or “having” and variations thereof herein ismeant to encompass the items listed thereafter and equivalents thereofas well as additional items. Unless specified or limited otherwise, theterms “mounted,” “connected,” “supported,” and “coupled” and variationsthereof are used broadly and encompass both direct and indirectmountings, connections, supports, and couplings. Further, “connected”and “coupled” are not restricted to physical or mechanical connectionsor couplings.

With reference to the Figures, various embodiments of the invention willnow be shown and described. Like reference numerals are used to indicatethe same element or step throughout the specification. FIG. 1schematically represents an optical reduction scanner 100 incorporatingthe invention. While the invention will be described in connection withthe scanner 100, the invention is not limited to the scanner 100. Theinvention can be used with any other apparatus (e.g., a multi-functiondevice, a digital camera, etc.) requiring tonal transformation,particularly devices that require gamma correction. It is alsoenvisioned that the invention can be implemented in software orcustomized hardware, and therefore, be executed by any appropriateelectronic device (e.g., a microprocessor, a microcontroller, etc.)where the device performs tonal transformation. For example, theinvention can be implement in software executable by a personalcomputer.

With reference to FIG. 1, the scanner 100 includes a white light source105 (e.g., a fluorescent bulb) that is used to illuminate a line of thetarget image 110 held by the scanner 100. The light reflects off of thetarget image 110 and is directed through optics or optical element 115.The optical element 115 shrinks the image down to the size of the imagesensor 120. The image sensor 120 typically contains three rows ofelements 125, 130, and 135 (shown in FIG. 2). Each row 125, 130, and 135has a filter to detect a specific color. For example, FIG. 2 shows acharge-coupled device (CCD) image sensor having red, green, and blueline sensors 125, 130, and 135, respectively. Other line sensors arepossible.

Each line sensor 125, 130, and 135 charges to a voltage levelcorresponding to the intensity of the color detected for that element.The voltage for each element of the captured line is then shifted out ofthe image sensor serially and sent to an analog front-end device 140(FIG. 1), which contains an analog-to-digital (A/D) converter (notshown). The analog voltage level is converted to a digital value andsent to the digital controller application-specific-integrated-circuit(ASIC) 145. The exemplary ASIC 145 shown in FIG. 1 conceptually includesa processor 146 and a memory 147. The ASIC 145 processes the digitalvalues and sends the processed information to a host PC for ascan-to-host operation or to a printer for a standalone copy operation.As used herein, a printer may be any device capable of performing aprinting function, such as a standalone printer or a multifunctionaldevice which performs other functions such as copying, faxing, orscanning in addition to printing.

It should be noted that the scanner 100 includes other components notshown or described herein. For example, the scanner 100 includes ascanner motor to move the light source 105, optics 115, and image sensor120 across the target image. It should also be noted that the scannerdiscussed in FIG. 1 is an optical reduction scanner. However, otherscanner types (e.g., contact image sensor scanners) can incorporate theinvention. Also, the elements and arrangement of the elements shown inFIG. 1 provide only one example of an optical reduction scanner. Otherconstructions of the optical reduction scanner are possible (e.g., theoptical reduction scanner can be microprocessor based rather than ASICbased.). Additionally, the scanner may be any device capable ofperforming a scanning function, such as a standalone scanner or amultifunctional device which performs other functions such as copying,faxing, or printing in addition to scanning.

As previously stated, the ASIC 145 processes the digital values. Forexample, the ASIC 145 can perform a tonal transformation on the digitalvalues using various correction techniques. For example, FIG. 3 shows amethod of performing dynamic gamma correction on the digital values withthe ASIC 145.

At block 300, the ASIC 145 receives image data having one or moreattributes from the analog front-end device 140. For the constructionshown, the image data represents one of three intensities: red, green,or blue. However, other attributes are possible and the image data canbe obtained from other devices (e.g., a memory or a storage device).Using the image data, the ASIC 145 performs a dynamic gamma correctionon each of the three intensity types. That is, the ASIC 145 performs afirst dynamic gamma correction on the red intensity values, a seconddynamic gamma correction on the green intensity values, and a thirddynamic gamma correction on the blue intensity values. However, it isenvisioned that the dynamic gamma correction can be performeddifferently on the three intensities. For example and in someconstructions, a dynamic gamma correction can be performed on combinedintensity values for the three intensity types. The remainder of FIG. 3will be discussed in connection with the ASIC 145 performing dynamicgamma correction on the red intensity values only.

At block 305, the ASIC 145 downsamples the red image data by keepingevery M^(th) (e.g., fourth) value and discarding the rest. Block 305,while not required for all methods, helps to reduce the number ofcomputations performed on the scanned image data.

At block 310, the ASIC 145 establishes a threshold value. In one method(shown in FIG. 4), the ASIC 145 establishes the threshold value using anadaptive thresholding technique, which separates the image data into twogroups based on the assumption that the intensity distribution isbimodal. However, it should be understood that the image data could bedivided into more than two groups. Moreover, other methods can be usedto establish the threshold value, such as obtaining it from memory.

With reference to FIG. 4, an initial threshold value T is selected(block 400). At block 405, the ASIC 145 segments the image data into twogroups of values G₁ and G₂ using the initial threshold value T. Thegroup G₁ consists of the values greater than or equal to the initialthreshold value T and the group G₂ consists of the values less than theinitial threshold value T.

At block 410, the ASIC 145 computes the mean intensity values μ₁ and μ₂for the two groups G₁ and G₂, respectively. At block 415, the ASIC 145computes a new threshold value T using equation [e2]. $\begin{matrix}{T = \frac{\left( {\mu_{1} + \mu_{2}} \right)}{2}} & \left\lbrack {e\quad 2} \right\rbrack\end{matrix}$At block 420, the ASIC 145 determines whether the difference betweensuccessive iterations of the threshold value T is less than a predefinedparameter T_(o), indicating the end of operation.

Referring again to FIG. 3, the ASIC 145 extracts a portion of thescanned image (block 315) after establishing the threshold value T. Theresulting extracted portion may be referred to herein as a subgroup ofimage data. In the method shown in FIG. 5, the ASIC 145 uses binarymorphology to extract a portion of the image data. At block 500, theASIC 145 locates a first value of the image data greater than thethreshold value T. The first value is referred to as the seed imagedatum p in the binary image I. The ASIC 145 then performs an iterativealgorithm to yield all image data greater than the threshold T that areconnected to the seed image datum p (block 505). An example algorithm isshown in equation [e3]X _(k)=(X _(k-1) ⊕ B)∩I   [e3]where X_(o)=p and $B = \begin{bmatrix}1 & 1 & 1 \\1 & 1 & 1 \\1 & 1 & 1\end{bmatrix}$The algorithm is repeated until all connected components are extracted(block 510). It should be understood that other methods can be used toextract the connected components.

At block 320 in FIG. 3, the ASIC 145 assigns or associates a label tothe extracted image data. In one method (shown in FIG. 6.), the ASIC 145creates a bounding box for the extracted image data (block 600). Atblock 605, the ASIC 145 assigns a label (e.g., a label signifying text,image, background, etc.) to the extracted image data depending on acharacteristic of the image data, such as the size of the bounding box,the aspect ratio of the bounding box, and/or some other considerations.For example, larger bounding boxes having a higher aspect ratiotypically signifies images or backgrounds; while smaller,rectangular-like bounding boxes having a lower aspect ratio typicallysignifying text. The ASIC 145 can also use other generalities to labelthe extracted components.

Referring back to FIG. 3, the ASIC 145 performs one or more tonaltransformations on the image data as a result of the label assigned tothe image data (block 325). For example, a first gamma correction γ₁(e.g., γ<1) can be performed on a datum designated as an image orbackground datum, and a second gamma correction γ₂ different than thefirst gamma correction γ₁ can be performed on an image datum designatedas a text datum.

Thus, the invention provides, among other things, a new and usefulmethod of performing tonal transformation on image data. As describedabove, FIGS. 3-6 provide one representative method for performing tonaltransformation on image data. However, other methods can be performed.For example, it is envisioned that the order of the blocks shown inFIGS. 3-6 can vary, that not all of the blocks are required, and two ormore blocks can be performed concurrently. The invention also provides,among other things, a new and useful image processor for performingtonal transformation on image data. Various features and advantages ofthe invention are set forth in the following claims.

1. A method of performing tonal transformation on image data, the methodcomprising: extracting a plurality of portions of the image data;assigning one of a plurality of labels to each of the plurality ofextracted portions, the plurality of labels comprising a first label anda second label; performing a first tonal transformation on the extractedportion assigned the first label; and performing a second tonaltransformation on the extracted portion assigned the second label. 2.The method as set forth in claim 1, further comprising: obtaining animage file comprising the image data.
 3. The method as set forth inclaim 2, wherein the image data comprises a plurality of intensities ofa color tone.
 4. The method as set forth in claim 1, wherein the imagedata represents an image and wherein the method further comprisesacquiring the image data with one of the group consisting of a scanner,a digital camera, a facsimile machine, and a digital video camera. 5.The method as set forth in claim 1, further comprising: downsampling theimage data.
 6. The method as set forth in claim 1, further comprising:establishing a threshold value for the image data, and whereinextracting one of the plurality of portions of the image data comprisesselecting an image datum having an intensity value with a relation tothe threshold value; and identifying the image data having intensityvalues with the same relation to the threshold value as the selectedimage datum and being connected to the selected image datum.
 7. Themethod as set forth in claim 6, wherein the relation is the intensityvalue being greater than the threshold value.
 8. The method as set forthin claim 6, wherein establishing a threshold value comprises retrievingthe threshold value from memory.
 9. The method as set forth in claim 6,wherein establishing a threshold value comprises performing an adaptivethresholding technique to determine the threshold value.
 10. The methodas set forth in claim 9, wherein performing an adaptive thresholdingtechnique comprises: setting an initial threshold value; segmenting theimage data into a plurality of groups; computing a mean value for eachof the plurality of groups; and computing a new threshold value based onthe mean values.
 11. The method as set forth in claim 10 whereinperforming an adaptive thresholding technique further comprisesrepeating the segmenting and computing acts.
 12. The method as set forthin claim 10 wherein segmenting the image data comprises: segmenting afirst image datum into a first of the plurality of groups when a valueof the first image datum is greater than the initial threshold value,and segmenting a second image datum into a second of the plurality ofgroups when the value of the second image datum is less than the initialthreshold value.
 13. The method as set forth in claim 1, whereinassigning one of a plurality of labels is based on a characteristic ofthe extracted portion.
 14. The method as set forth in claim 13, whereinthe characteristic is the aspect ratio of the extracted portion.
 15. Themethod as set forth in claim 13, wherein the characteristic is the sizeof the extracted portion.
 16. The method as set forth in claim 1,wherein the first tonal transformation is a gamma correction using afirst gamma value and the second tonal transformation is a gammacorrection using a second gamma value.
 17. A method of performing gammacorrection on image data, each image datum having an intensity value,the method comprising: obtaining an image file comprising the imagedata; selecting an image datum having an intensity value with a relationto a threshold value; identifying image data having intensity valueswith the same relation to the threshold value as the selected imagedatum and being connected to the selected image datum; extracting theselected and identified image data; assigning one of a plurality oflabels to the extracted image data, the plurality of labels comprising afirst label and a second label; performing a first gamma correction witha first gamma value on the extracted image data if the first label isassigned to the extracted image data; and performing a second gammacorrection with a second gamma value on the extracted image data if thesecond label is assigned to the extracted image data.
 18. The method asset forth in claim 17, wherein the threshold value is determined byperforming an adaptive thresholding technique comprising: setting aninitial threshold value; segmenting the image data into a plurality ofgroups; computing a mean value for each of the plurality of groups; andcomputing a new threshold value based on the mean values.
 19. The methodas set forth in claim 18, wherein segmenting the image data comprisessegmenting an image datum into the first group when an intensity valueof the image datum is greater than the initial threshold value, andsegmenting an image datum into the second group when the intensity valueof the image datum is less than the initial threshold value.
 20. Themethod as set forth in claim 17, wherein assigning one of a plurality oflabels is based on a characteristic of the extracted portion.
 21. Themethod as set forth in claim 20, wherein the characteristic is the sizeof the extracted portion.
 22. The method as set forth in claim 20,wherein the characteristic is the aspect ratio of the extracted portion.23. The method as set forth in claim 17, wherein the relation is theintensity value being greater than the threshold value.
 24. An imageprocessor for performing tonal transformation on image data, the imageprocessor comprising: a memory comprising the image data; and aprocessor configured to extract a plurality of portions of the imagedata, assign one of a plurality of labels to each of the plurality ofextracted portions, the plurality of labels comprising a first label anda second label, perform a first tonal transformation on the extractedportions assigned the first label, and perform a second tonaltransformation on the extracted portions assigned the second label. 25.The image processor as set forth in claim 24, wherein the processor isimplemented via an application specific integrated circuit.
 26. Theimage processor as set forth in claim 24, wherein the processor isimplemented via a computer.
 27. The image processor as set forth inclaim 24, wherein the processor is configured to perform the first tonaltransformation on the extracted portion by performing a first gammacorrection using a first gamma value on the extracted portion, andwherein the image processor is configured to perform the second tonaltransformation by performing a second gamma correction using a secondgamma value on the extracted portion.
 28. A method of performing tonaltransformation on image data of an image file, the method comprising:dividing at least a portion of the image data into at least twosubgroups of image data based on an attribute of the image data, the atleast two subgroups of image data comprising a first subgroup of imagedata and a second subgroup of image data; performing a first tonaltransformation on the first subgroup of image data; and performing asecond tonal transformation on the second subgroup of image data, thesecond tonal transformation being different from the first tonaltransformation.
 29. The method as set forth in claim 28, wherein theattribute comprises an intensity value for each image datum.
 30. Themethod as set forth in claim 29, wherein dividing at least a portion ofthe image data into the first subgroup comprises: selecting an imagedatum having an intensity value with a relation to a threshold value,and identifying image data having intensity values with the samerelation to the threshold value as the selected image datum and beingconnected to the selected image datum; and wherein performing a firsttonal transformation on the first subgroup comprises performing a firsttonal transformation on the selected and identified image data.
 31. Themethod as set forth in claim 30, wherein the relation is the intensityvalue being greater than the threshold value.
 32. The method as setforth in claim 30, wherein the threshold value is determined byperforming an adaptive thresholding technique comprising: setting aninitial threshold value; segmenting the image data into a plurality ofgroups; computing a mean value for each of the plurality of groups;computing a new threshold value based on the mean values; and repeatingthe segmenting and computing acts.
 33. The method as set forth in claim28, further comprising: assigning one of a plurality of labels to eachof the at least two subgroups of image data, the plurality of labelscomprising a first label and a second label; and wherein performing afirst tonal transformation and performing a second tonal transformationis based on the respective label assigned to the first and secondsubgroups.
 34. The method as set forth in claim 28, wherein the firsttonal transformation is a gamma correction using a first gamma value andthe second tonal transformation is a gamma correction using a secondgamma value.